<template>
</template>

<script>
	/*promise对象,用于处理异步操作结束之后,是成功还是失败
		new一个promise的对象，在参数中使用箭头函数，函数中写上异步的操作*/
		const promise = new Promise((resolve, reject) => {
		  // 异步操作（如请求数据、读取文件等）
		  setTimeout(() => {
		    const success = Math.random() > 0.5;
		    if (success) {
		      resolve("操作成功！");// 会让promise的状态从pending转换为fulfilled(成功状态)且不可逆.
		    } else {
		      reject("操作失败！");// 会让····从pending转换为rejected(失败状态)不可逆.
		    }
		  }, 1000);// 参数如果为promise,那么状态由参数中的决定
		});
		promise.then((result) => {
		  console.log("成功：", result); // 接收 resolve 传递的值
		});
		promise.catch((error) => {
		  console.error("失败：", error); // 接收 reject 传递的原因
		});
		//可以链式调用
			const ajax_fun = (url,method,data)=>{
				return new Promise((resolve,reject)=>{
					$.ajax({
						url:url,
						method:method,
						data:data,
						success:(res)=>{
							resolve(res)
						}
					})
				})
				
			}
			ajax_fun("xxx/xxx",'post',{id:"id"}).then(res=>{
				return ajax_fun(res);
			}).then(res=>{
				return ajax_fun(res)
			})//在发起请求之前需要先获取上一个请求获得的值，作为下一次请求的data，多次嵌套被称为回调地狱
</script>

<style>
	
</style>